//
//  VideoModel.h
//  VideoExam
//
//  Created by apple on 2020/4/11.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
// 相册展示内容的类型
typedef NS_ENUM(NSUInteger, CellShowType) {
    Cell_show_NO_Recording_type,                              // 未录制
    Cell_show_Already_Recording_type,                         // 已经录制可看回放
    Cell_show_Uploading_type,                                 // 上传中
    Cell_show_Upload_complete_type,                           // 上传完成
    Cell_show_Upload_error_type,                              // 上传错误
};
@interface VideoModel : NSObject <NSCoding >

///上传成功后的url
@property(nonatomic,strong)NSString * videoUrl;

///曲目id
@property(nonatomic,strong)NSString * Id;

///视频上传进度
@property(nonatomic,assign)CGFloat progress;
///
@property(nonatomic,assign)CellShowType showType;
///曲目名称
@property(nonatomic,strong)NSString * name;


@property(nonatomic,strong)NSIndexPath * indexPath;
///视频封面
@property(nonatomic,strong)UIImage * __nullable coverImage;
///视频封面url
@property(nonatomic,strong)NSString * coverImageUrl;

//歌曲分组名
@property(nonatomic,strong)NSString * group_name;

//视频名
@property(nonatomic,strong)NSString * videoName;

///压缩视频名
@property(nonatomic,strong)NSString * compression_video_name;

///完成录制时间
@property(nonatomic,strong)NSString * complete_date_str;

///视频时长 几分钟几秒
@property(nonatomic,strong)NSString * video_length;

///是否是上传状态
@property(nonatomic,assign)BOOL Upload;

///剩余录制机会次数
@property(nonatomic,assign)NSInteger opportunity_number;

///cell 高
@property(nonatomic,assign)CGFloat cellHeight;

///当前账号 下载进入时使用有未完成的弹框提示
@property(nonatomic,strong)NSString * current_account;
///遮罩image url
@property(nonatomic,strong)NSString * mask_image_url;


///oss_url_path oss 服务器上的路径 学尔空间/考级委员会/日期/考生名字+手机号+时间戳.mp4 这个字段之拼接到手机号 上传视频时  调用这个 方法set_oss_url_pathName 再拼接完整的
@property(nonatomic,strong)NSString * oss_url_path;

///设置视频录制完成时间
- (void)set_complete_date_str;

/// 完成录制设置 model
/// @param videoName 视频名称
/// @param video_length 视频时长
- (void)video_record_complete_set_videoName:(NSString *)videoName video_length:(NSString *)video_length;


/// 保存本地
/// @param dataArray dataArray
/// @param OrderId 订单号
+ (void)save_local_ModelArray:(NSArray *)dataArray OrderId:(NSString *)OrderId;

/// 根据订单号获取 本地未上传视频model数组
+ (NSArray *)get_not_upload_local_dataArray_orderId:(NSString *)orderId;

#pragma mark 上传成功后删除本地 原视频 和 压缩后的视频 都删除
/// 上传成功后删除本地 原视频 和 压缩后的视频 都删除
/// @param orderId 订单id
/// @param dataArray 视频上传界面的数组
+(void)remove_local_ModelArray_OrderId:(NSString *)orderId dataArray:(NSMutableArray *)dataArray ;


///删除本地视频文件 没回调的
- (void)delete_video_File;

///删除本地视频文件 带回调成功失败都回调
- (void)delete_video_File_block:(void(^)(void))block;

///删除本压缩地视频文件
- (void)delete_compression_video_File;

///获取本地视频封面 此方法 cell 里使用的
- (UIImage *)get_cover_Image;

///获取n本地视频文件信息
+(NSDictionary*)getFileInfo:(NSString*)path;

//获取视频拍摄时路径 原始路径
- (NSString *)get_original_path;


//获取视频压缩后的路径
- (NSString *)get_compression_path;

/// 获取 Document 路径
- (NSString *)get_document_path;

///获取时间戳名
- (NSString *)get_date_name;

/// 长传视频时设置 oss_url_pathName
- (NSString *)set_oss_url_pathName;





@end

NS_ASSUME_NONNULL_END
